export function transTreeData(list:Array<TreeObj>):Array<TreeObj> {
//   //映射对象
//   const mapList=<TreeMapObj>{}
//   //树形数据
//   const treeList=[] 
//   //遍历
//   list.forEach((item:TreeObj) => {
//     if (!item.children) item.children=[]
//     mapList[item.id as keyof TreeMapObj]=item
//   })
//   list.forEach((item:TreeObj) => {
//     const person =mapList[item.pid]
//     if(!person) return treeList.push(person)
//     person.children?.push(item)
//   })
//   console.log('treeList',treeList)

  //创建映射对象
  const map=<TreeMapObj>{}
  //创建树形数组
  const treeArr:Array<TreeObj>=[]

  //遍历原数组并创建映射对象
  list.forEach(item=>{
    if(!item.children) item.children=[]
    map[item.id]=item
  })
  //判断是否存在子集
  list.forEach(item => {
    // 对于每一个元素来说，先找它的上级
    //    如果能找到，说明它有上级，则要把它添加到上级的children中去
    //    如果找不到，说明它没有上级，直接添加到 treeList
    const parent = map[item.pid]
    if (!parent) return treeArr.push(item)
    parent.children?.push(item)
  })
  //console.log('treeList',treeArr)
  return treeArr
}